home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / Interfaces & Libraries / Interfaces / AIncludes / Gestalt.a < prev    next >
Encoding:
Text File  |  1996-01-24  |  27.0 KB  |  693 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Gestalt.a
  3. ;
  4. ;    Contains:    Gestalt Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.2 in “MPW” on ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__GESTALT__') = 'UNDEFINED' THEN
  21. __GESTALT__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  25.     include 'Types.a'
  26.     ENDIF
  27. ;        include 'ConditionalMacros.a'                                ;
  28.  
  29.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  30.     include 'MixedMode.a'
  31.     ENDIF
  32.  
  33. gestaltAddressingModeAttr        EQU        'addr'                ; addressing mode attributes 
  34. gestalt32BitAddressing            EQU        0                    ; using 32-bit addressing mode 
  35. gestalt32BitSysZone                EQU        1                    ; 32-bit compatible system zone 
  36. gestalt32BitCapable                EQU        2                    ; Machine is 32-bit capable 
  37.  
  38. gestaltAliasMgrAttr                EQU        'alis'                ; Alias Mgr Attributes 
  39. gestaltAliasMgrPresent            EQU        0                    ; True if the Alias Mgr is present 
  40. gestaltAliasMgrSupportsRemoteAppletalk EQU        1            ; True if the Alias Mgr knows about Remote Appletalk 
  41.  
  42. gestaltAppleTalkVersion            EQU        'atlk'
  43.  
  44. gestaltAUXVersion                EQU        'a/ux'
  45.  
  46. gestaltCloseViewAttr            EQU        'BSDa'                ; CloseView attributes 
  47. gestaltCloseViewEnabled            EQU        0                    ; Closeview enabled (dynamic bit - returns current state) 
  48. gestaltCloseViewDisplayMgrFriendly EQU        1                ; Closeview compatible with Display Manager (FUTURE) 
  49.  
  50. gestaltCFMAttr                    EQU        'cfrg'                ; returns information about the Code Fragment Manager 
  51. gestaltCFMPresent                EQU        0                    ; true if the Code Fragment Manager is present 
  52.  
  53. gestaltColorMatchingAttr        EQU        'cmta'                ; ColorSync attributes 
  54. gestaltHighLevelMatching        EQU        0
  55. gestaltColorMatchingLibLoaded    EQU        1
  56.  
  57. gestaltColorMatchingVersion        EQU        'cmtc'
  58. gestaltColorSync10                EQU        $0100                ; 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product 
  59. gestaltColorSync11                EQU        $0110                ;   0x0100 == low-level matching only 
  60. gestaltColorSync104                EQU        $0104                ; Real version, by popular demand 
  61. gestaltColorSync105                EQU        $0105
  62.  
  63. gestaltConnMgrAttr                EQU        'conn'                ; connection mgr attributes    
  64. gestaltConnMgrPresent            EQU        0
  65. gestaltConnMgrCMSearchFix        EQU        1                    ; Fix to CMAddSearch?     
  66. gestaltConnMgrErrorString        EQU        2                    ; has CMGetErrorString() 
  67. gestaltConnMgrMultiAsyncIO        EQU        3                    ; CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill 
  68.  
  69. gestaltComponentMgr                EQU        'cpnt'
  70.  
  71. gestaltColorPickerVersion        EQU        'cpkr'                ; returns version of ColorPicker 
  72. gestaltColorPicker                EQU        'cpkr'
  73.  
  74. gestaltNativeCPUtype            EQU        'cput'                ; Native CPU type                                       
  75. gestaltCPU68000                    EQU        1                    ; Various 68k CPUs...     
  76. gestaltCPU68010                    EQU        2
  77. gestaltCPU68020                    EQU        3
  78. gestaltCPU68030                    EQU        4
  79. gestaltCPU68040                    EQU        5
  80. gestaltCPU601                    EQU        $101                ; IBM 601                                                 
  81. gestaltCPU603                    EQU        $103
  82. gestaltCPU604                    EQU        $104
  83.  
  84. gestaltCRMAttr                    EQU        'crm '                ; comm resource mgr attributes 
  85. gestaltCRMPresent                EQU        0
  86. gestaltCRMPersistentFix            EQU        1                    ; fix for persistent tools 
  87. gestaltCRMToolRsrcCalls            EQU        2                    ; has CRMGetToolResource/ReleaseToolResource 
  88.  
  89. gestaltControlStripVersion        EQU        'csvr'
  90.  
  91. gestaltCTBVersion                EQU        'ctbv'
  92.  
  93. gestaltDBAccessMgrAttr            EQU        'dbac'                ; Database Access Mgr attributes 
  94. gestaltDBAccessMgrPresent        EQU        0                    ; True if Database Access Mgr present 
  95.  
  96. gestaltDictionaryMgrAttr        EQU        'dict'                ; Dictionary Manager attributes 
  97. gestaltDictionaryMgrPresent        EQU        0                    ; Dictionary Manager attributes 
  98.  
  99. gestaltDITLExtAttr                EQU        'ditl'                ; AppenDITL, etc. calls from CTB 
  100. gestaltDITLExtPresent            EQU        0                    ; True if calls are present 
  101.  
  102. gestaltDisplayMgrAttr            EQU        'dply'                ; Display Manager attributes 
  103. gestaltDisplayMgrPresent        EQU        0                    ; True if Display Mgr is present 
  104. gestaltDisplayMgrCanSwitchMirrored EQU        2                ; True if Display Mgr can switch modes on mirrored displays 
  105. gestaltDisplayMgrSetDepthNotifies EQU        3                    ; True SetDepth generates displays mgr notification 
  106.  
  107. gestaltDisplayMgrVers            EQU        'dplv'
  108.  
  109. gestaltDragMgrAttr                EQU        'drag'                ; Drag Manager attributes 
  110. gestaltDragMgrPresent            EQU        0                    ; Drag Manager is present 
  111. gestaltDragMgrFloatingWind        EQU        1                    ; Drag Manager supports floating windows 
  112. gestaltPPCDragLibPresent        EQU        2                    ; Drag Manager PPC DragLib is present 
  113.  
  114. gestaltEasyAccessAttr            EQU        'easy'                ; Easy Access attributes 
  115. gestaltEasyAccessOff            EQU        0                    ; if Easy Access present, but off (no icon) 
  116. gestaltEasyAccessOn                EQU        1                    ; if Easy Access "On" 
  117. gestaltEasyAccessSticky            EQU        2                    ; if Easy Access "Sticky" 
  118. gestaltEasyAccessLocked            EQU        3                    ; if Easy Access "Locked" 
  119.  
  120. gestaltEditionMgrAttr            EQU        'edtn'                ; Edition Mgr attributes 
  121. gestaltEditionMgrPresent        EQU        0                    ; True if Edition Mgr present 
  122. gestaltEditionMgrTranslationAware EQU        1                    ; True if edition manager is translation manager aware 
  123.  
  124. gestaltAppleEventsAttr            EQU        'evnt'                ; Apple Events attributes 
  125. gestaltAppleEventsPresent        EQU        0                    ; True if Apple Events present 
  126. gestaltScriptingSupport            EQU        1
  127. gestaltOSLInSystem                EQU        2                    ; OSL is in system so don’t use the one linked in to app 
  128.  
  129. gestaltFinderAttr                EQU        'fndr'                ; Finder attributes 
  130. gestaltFinderDropEvent            EQU        0                    ; Finder recognizes drop event 
  131. gestaltFinderMagicPlacement        EQU        1                    ; Finder supports magic icon placement 
  132. gestaltFinderCallsAEProcess        EQU        2                    ; Finder calls AEProcessAppleEvent 
  133. gestaltOSLCompliantFinder        EQU        3                    ; Finder is scriptable and recordable 
  134. gestaltFinderSupports4GBVolumes    EQU        4                    ; Finder correctly handles 4GB volumes 
  135. gestaltFinderHasClippings        EQU        6                    ; Finder supports Drag Manager clipping files 
  136.  
  137. gestaltFindFolderAttr            EQU        'fold'                ; Folder Mgr attributes 
  138. gestaltFindFolderPresent        EQU        0                    ; True if Folder Mgr present 
  139.  
  140. gestaltFontMgrAttr                EQU        'font'                ; Font Mgr attributes 
  141. gestaltOutlineFonts                EQU        0                    ; True if Outline Fonts supported 
  142.  
  143. gestaltFPUType                    EQU        'fpu '                ; fpu type 
  144. gestaltNoFPU                    EQU        0                    ; no FPU 
  145. gestalt68881                    EQU        1                    ; 68881 FPU 
  146. gestalt68882                    EQU        2                    ; 68882 FPU 
  147. gestalt68040FPU                    EQU        3                    ; 68040 built-in FPU 
  148.  
  149. gestaltFSAttr                    EQU        'fs  '                ; file system attributes 
  150. gestaltFullExtFSDispatching        EQU        0                    ; has really cool new HFSDispatch dispatcher 
  151. gestaltHasFSSpecCalls            EQU        1                    ; has FSSpec calls 
  152. gestaltHasFileSystemManager        EQU        2                    ; has a file system manager 
  153. gestaltFSMDoesDynamicLoad        EQU        3                    ; file system manager supports dynamic loading 
  154. gestaltFSSupports4GBVols        EQU        4                    ; file system supports 4 gigabyte volumes 
  155. gestaltFSSupports2TBVols        EQU        5                    ; file system supports 2 terabyte volumes 
  156. gestaltHasExtendedDiskInit        EQU        6                    ; has extended Disk Initialization calls 
  157.  
  158.     IF ¬ OLDROUTINELOCATIONS  THEN
  159. gestaltFSMVersion                EQU        'fsm '
  160.  
  161.     ENDIF
  162. gestaltFXfrMgrAttr                EQU        'fxfr'                ; file transfer manager attributes 
  163. gestaltFXfrMgrPresent            EQU        0
  164. gestaltFXfrMgrMultiFile            EQU        1                    ; supports FTSend and FTReceive 
  165. gestaltFXfrMgrErrorString        EQU        2                    ; supports FTGetErrorString 
  166.  
  167. gestaltGraphicsAttr                EQU        'gfxa'                ; Quickdraw GX attributes selector 
  168. gestaltGraphicsIsDebugging        EQU        $00000001
  169. gestaltGraphicsIsLoaded            EQU        $00000002
  170. gestaltGraphicsIsPowerPC        EQU        $00000004
  171.  
  172. gestaltGraphicsVersion            EQU        'grfx'                ; Quickdraw GX version selector 
  173. gestaltCurrentGraphicsVersion    EQU        $00010000            ; the version described in this set of headers 
  174.  
  175. gestaltHardwareAttr                EQU        'hdwr'                ; hardware attributes 
  176. gestaltHasVIA1                    EQU        0                    ; VIA1 exists 
  177. gestaltHasVIA2                    EQU        1                    ; VIA2 exists 
  178. gestaltHasASC                    EQU        3                    ; Apple Sound Chip exists 
  179. gestaltHasSCC                    EQU        4                    ; SCC exists 
  180. gestaltHasSCSI                    EQU        7                    ; SCSI exists 
  181. gestaltHasSoftPowerOff            EQU        19                    ; Capable of software power off 
  182. gestaltHasSCSI961                EQU        21                    ; 53C96 SCSI controller on internal bus 
  183. gestaltHasSCSI962                EQU        22                    ; 53C96 SCSI controller on external bus 
  184. gestaltHasUniversalROM            EQU        24                    ; Do we have a Universal ROM? 
  185. gestaltHasEnhancedLtalk            EQU        30                    ; Do we have Enhanced LocalTalk? 
  186.  
  187. gestaltHelpMgrAttr                EQU        'help'                ; Help Mgr Attributes 
  188. gestaltHelpMgrPresent            EQU        0                    ; true if help mgr is present 
  189. gestaltHelpMgrExtensions        EQU        1                    ; true if help mgr extensions are installed 
  190.  
  191. gestaltCompressionMgr            EQU        'icmp'
  192.  
  193. gestaltIconUtilitiesAttr        EQU        'icon'                ; Icon Utilities attributes  (Note: available in System 7.0, despite gestalt) 
  194. gestaltIconUtilitiesPresent        EQU        0                    ; true if icon utilities are present 
  195.  
  196. gestaltKeyboardType                EQU        'kbd '                ; keyboard type 
  197. gestaltMacKbd                    EQU        1
  198. gestaltMacAndPad                EQU        2
  199. gestaltMacPlusKbd                EQU        3
  200. gestaltExtADBKbd                EQU        4
  201. gestaltStdADBKbd                EQU        5
  202. gestaltPrtblADBKbd                EQU        6
  203. gestaltPrtblISOKbd                EQU        7
  204. gestaltStdISOADBKbd                EQU        8
  205. gestaltExtISOADBKbd                EQU        9
  206. gestaltADBKbdII                    EQU        10
  207. gestaltADBISOKbdII                EQU        11
  208. gestaltPwrBookADBKbd            EQU        12
  209. gestaltPwrBookISOADBKbd            EQU        13
  210. gestaltAppleAdjustKeypad        EQU        14
  211. gestaltAppleAdjustADBKbd        EQU        15
  212. gestaltAppleAdjustISOKbd        EQU        16
  213. gestaltJapanAdjustADBKbd        EQU        17                    ; Japan Adjustable Keyboard 
  214. gestaltPwrBkExtISOKbd            EQU        20                    ; PowerBook Extended International Keyboard with function keys 
  215. gestaltPwrBkExtJISKbd            EQU        21                    ; PowerBook Extended Japanese Keyboard with function keys         
  216. gestaltPwrBkExtADBKbd            EQU        24                    ; PowerBook Extended Domestic Keyboard with function keys         
  217.  
  218. gestaltLowMemorySize            EQU        'lmem'
  219.  
  220. gestaltLogicalRAMSize            EQU        'lram'
  221.  
  222. gestaltMachineType                EQU        'mach'                ; machine type 
  223. gestaltClassic                    EQU        1
  224. gestaltMacXL                    EQU        2
  225. gestaltMac512KE                    EQU        3
  226. gestaltMacPlus                    EQU        4
  227. gestaltMacSE                    EQU        5
  228. gestaltMacII                    EQU        6
  229. gestaltMacIIx                    EQU        7
  230. gestaltMacIIcx                    EQU        8
  231. gestaltMacSE030                    EQU        9
  232. gestaltPortable                    EQU        10
  233. gestaltMacIIci                    EQU        11
  234. gestaltMacIIfx                    EQU        13
  235. gestaltMacClassic                EQU        17
  236. gestaltMacIIsi                    EQU        18
  237. gestaltMacLC                    EQU        19
  238. gestaltQuadra900                EQU        20
  239. gestaltPowerBook170                EQU        21
  240. gestaltQuadra700                EQU        22
  241. gestaltClassicII                EQU        23
  242. gestaltPowerBook100                EQU        24
  243. gestaltPowerBook140                EQU        25
  244. gestaltQuadra950                EQU        26
  245. gestaltMacLCIII                    EQU        27
  246. gestaltPerforma450                EQU        gestaltMacLCIII
  247. gestaltPowerBookDuo210            EQU        29
  248. gestaltMacCentris650            EQU        30
  249. gestaltPowerBookDuo230            EQU        32
  250. gestaltPowerBook180                EQU        33
  251. gestaltPowerBook160                EQU        34
  252. gestaltMacQuadra800                EQU        35
  253. gestaltMacQuadra650                EQU        36
  254. gestaltMacLCII                    EQU        37
  255. gestaltPowerBookDuo250            EQU        38
  256. gestaltAWS9150_80                EQU        39
  257. gestaltPowerMac8100_110            EQU        40
  258. gestaltAWS8150_110                EQU        gestaltPowerMac8100_110
  259. gestaltMacIIvi                    EQU        44
  260. gestaltMacIIvm                    EQU        45
  261. gestaltPerforma600                EQU        gestaltMacIIvm
  262. gestaltPowerMac7100_80            EQU        47
  263. gestaltMacIIvx                    EQU        48
  264. gestaltMacColorClassic            EQU        49
  265. gestaltPerforma250                EQU        gestaltMacColorClassic
  266. gestaltPowerBook165c            EQU        50
  267. gestaltMacCentris610            EQU        52
  268. gestaltMacQuadra610                EQU        53
  269. gestaltPowerBook145                EQU        54
  270. gestaltPowerMac8100_100            EQU        55
  271. gestaltMacLC520                    EQU        56
  272. gestaltAWS9150_120                EQU        57
  273. gestaltMacCentris660AV            EQU        60
  274. gestaltPerforma46x                EQU        62
  275. gestaltPowerMac8100_80            EQU        65
  276. gestaltAWS8150_80                EQU        gestaltPowerMac8100_80
  277. gestaltPowerBook180c            EQU        71
  278. gestaltPowerMac6100_60            EQU        75
  279. gestaltAWS6150_60                EQU        gestaltPowerMac6100_60
  280. gestaltPowerBookDuo270c            EQU        77
  281. gestaltMacQuadra840AV            EQU        78
  282. gestaltPerforma550                EQU        80
  283. gestaltPowerBook165                EQU        84
  284. gestaltMacTV                    EQU        88
  285. gestaltMacLC475                    EQU        89
  286. gestaltPerforma47x                EQU        gestaltMacLC475
  287. gestaltMacLC575                    EQU        92
  288. gestaltMacQuadra605                EQU        94
  289. gestaltQuadra630                EQU        98
  290. gestaltPowerMac6100_66            EQU        100
  291. gestaltAWS6150_66                EQU        gestaltPowerMac6100_66
  292. gestaltPowerBookDuo280            EQU        102
  293. gestaltPowerBookDuo280c            EQU        103
  294. gestaltPowerMac7100_66            EQU        112                    ; Power Macintosh 7100/66 
  295. gestaltPowerBook150                EQU        115
  296.  
  297. kMachineNameStrID                EQU        -16395
  298.  
  299. gestaltMachineIcon                EQU        'micn'
  300.  
  301. gestaltMiscAttr                    EQU        'misc'                ; miscellaneous attributes 
  302. gestaltScrollingThrottle        EQU        0                    ; true if scrolling throttle on 
  303. gestaltSquareMenuBar            EQU        2                    ; true if menu bar is square 
  304.  
  305. ;
  306. ;    The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
  307. ;    The same selector has been renamed gestaltMixedModeAttr to properly reflect the
  308. ;    Inside Mac: PowerPC System Software documentation.  The gestaltMixedModeVersion
  309. ;    symbol has been preserved only for backwards compatibility.
  310. ;
  311. ;    Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
  312. ;    will be removed in a future release of the Interfaces.
  313. ;
  314. ;    For the first version of Mixed Mode, both meanings of the 'mixd' selector are
  315. ;    functionally identical.  They both return 0x00000001.  In subsequent versions
  316. ;    of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
  317. ;    version number, but rather, with 32 attribute bits with various meanings.
  318. ;
  319. gestaltMixedModeVersion            EQU        'mixd'
  320.  
  321. gestaltMixedModeAttr            EQU        'mixd'                ; returns Mixed Mode attributes 
  322. gestaltPowerPCAware                EQU        0                    ; true if Mixed Mode Manager supports PowerPC 
  323.  
  324. gestaltMMUType                    EQU        'mmu '                ; mmu type 
  325. gestaltNoMMU                    EQU        0                    ; no MMU 
  326. gestaltAMU                        EQU        1                    ; address management unit 
  327. gestalt68851                    EQU        2                    ; 68851 PMMU 
  328. gestalt68030MMU                    EQU        3                    ; 68030 built-in MMU 
  329. gestalt68040MMU                    EQU        4                    ; 68040 built-in MMU 
  330. gestaltEMMU1                    EQU        5                    ; Emulated MMU type 1  
  331.  
  332. gestaltStdNBPAttr                EQU        'nlup'                ; standard nbp attributes 
  333. gestaltStdNBPPresent            EQU        0
  334.  
  335. gestaltNotificationMgrAttr        EQU        'nmgr'                ; notification manager attributes 
  336. gestaltNotificationPresent        EQU        0                    ; notification manager exists 
  337.  
  338. gestaltNameRegistryVersion        EQU        'nreg'
  339.  
  340. gestaltNuBusSlotCount            EQU        'nubs'
  341.  
  342. gestaltOpenFirmwareInfo            EQU        'opfw'
  343.  
  344. gestaltOSAttr                    EQU        'os  '                ; o/s attributes 
  345. gestaltSysZoneGrowable            EQU        0                    ; system heap is growable 
  346. gestaltLaunchCanReturn            EQU        1                    ; can return from launch 
  347. gestaltLaunchFullFileSpec        EQU        2                    ; can launch from full file spec 
  348. gestaltLaunchControl            EQU        3                    ; launch control support available 
  349. gestaltTempMemSupport            EQU        4                    ; temp memory support 
  350. gestaltRealTempMemory            EQU        5                    ; temp memory handles are real 
  351. gestaltTempMemTracked            EQU        6                    ; temporary memory handles are tracked 
  352. gestaltIPCSupport                EQU        7                    ; IPC support is present 
  353. gestaltSysDebuggerSupport        EQU        8                    ; system debugger support is present 
  354.  
  355. gestaltOSTable                    EQU        'ostt'
  356.  
  357. gestaltPCXAttr                    EQU        'pcxg'                ; PC Exchange attributes 
  358. gestaltPCXHas8and16BitFAT        EQU        0                    ; PC Exchange supports both 8 and 16 bit FATs 
  359. gestaltPCXHasProDOS                EQU        1                    ; PC Exchange supports ProDOS 
  360.  
  361. gestaltLogicalPageSize            EQU        'pgsz'
  362.  
  363. gestaltPopupAttr                EQU        'pop!'                ; popup cdef attributes 
  364. gestaltPopupPresent                EQU        0
  365.  
  366. gestaltPowerMgrAttr                EQU        'powr'                ; power manager attributes 
  367. gestaltPMgrExists                EQU        0
  368. gestaltPMgrCPUIdle                EQU        1
  369. gestaltPMgrSCC                    EQU        2
  370. gestaltPMgrSound                EQU        3
  371. gestaltPMgrDispatchExists        EQU        4
  372.  
  373. ;
  374. ; * PPC will return the combination of following bit fields.
  375. ; * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  376. ; * indicates PPC is cuurently is only supports real time delivery
  377. ; * and both incoming and outgoing network sessions are allowed.
  378. ; * By default local real time delivery is supported as long as PPCInit has been called.
  379. gestaltPPCToolboxAttr            EQU        'ppc '                ; PPC toolbox attributes 
  380. gestaltPPCToolboxPresent        EQU        $0000                ; PPC Toolbox is present  Requires PPCInit to be called 
  381. gestaltPPCSupportsRealTime        EQU        $1000                ; PPC Supports real-time delivery 
  382. gestaltPPCSupportsIncoming        EQU        $0001                ; PPC will deny incoming network requests 
  383. gestaltPPCSupportsOutGoing        EQU        $0002                ; PPC will deny outgoing network requests 
  384.  
  385. gestaltProcessorType            EQU        'proc'                ; processor type 
  386. gestalt68000                    EQU        1
  387. gestalt68010                    EQU        2
  388. gestalt68020                    EQU        3
  389. gestalt68030                    EQU        4
  390. gestalt68040                    EQU        5
  391.  
  392. gestaltParityAttr                EQU        'prty'                ; parity attributes 
  393. gestaltHasParityCapability        EQU        0                    ; has ability to check parity 
  394. gestaltParityEnabled            EQU        1                    ; parity checking enabled 
  395.  
  396. gestaltQuickdrawVersion            EQU        'qd  '                ; quickdraw version 
  397. gestaltOriginalQD                EQU        $000                ; original 1-bit QD 
  398. gestalt8BitQD                    EQU        $100                ; 8-bit color QD 
  399. gestalt32BitQD                    EQU        $200                ; 32-bit color QD 
  400. gestalt32BitQD11                EQU        $201                ; 32-bit color QDv1.1 
  401. gestalt32BitQD12                EQU        $220                ; 32-bit color QDv1.2 
  402. gestalt32BitQD13                EQU        $230                ; 32-bit color QDv1.3 
  403.  
  404. gestaltQuickdrawFeatures        EQU        'qdrw'                ; quickdraw features 
  405. gestaltHasColor                    EQU        0                    ; color quickdraw present 
  406. gestaltHasDeepGWorlds            EQU        1                    ; GWorlds can be deeper than 1-bit 
  407. gestaltHasDirectPixMaps            EQU        2                    ; PixMaps can be direct (16 or 32 bit) 
  408. gestaltHasGrayishTextOr            EQU        3                    ; supports text mode grayishTextOr 
  409. gestaltSupportsMirroring        EQU        4                    ; Supports video mirroring via the Display Manager. 
  410.  
  411. gestaltQuickTimeVersion            EQU        'qtim'                ; returns version of QuickTime 
  412. gestaltQuickTime                EQU        'qtim'
  413.  
  414. gestaltQuickTimeFeatures        EQU        'qtrs'
  415. gestaltPPCQuickTimeLibPresent    EQU        0                    ; PowerPC QuickTime glue library is present 
  416.  
  417. gestaltPhysicalRAMSize            EQU        'ram '
  418.  
  419. gestaltRBVAddr                    EQU        'rbv '
  420.  
  421. gestaltROMSize                    EQU        'rom '
  422.  
  423. gestaltROMVersion                EQU        'romv'
  424.  
  425. gestaltResourceMgrAttr            EQU        'rsrc'                ; Resource Mgr attributes 
  426. gestaltPartialRsrcs                EQU        0                    ; True if partial resources exist 
  427.  
  428. gestaltRealtimeMgrAttr            EQU        'rtmr'                ; Realtime manager attributes            
  429. gestaltRealtimeMgrPresent        EQU        0                    ; true if the Realtime manager is present     
  430.  
  431. gestaltSCCReadAddr                EQU        'sccr'
  432.  
  433. gestaltSCCWriteAddr                EQU        'sccw'
  434.  
  435. gestaltScrapMgrAttr                EQU        'scra'                ; Scrap Manager attributes 
  436. gestaltScrapMgrTranslationAware    EQU        0                    ; True if scrap manager is translation aware 
  437.  
  438. gestaltScriptMgrVersion            EQU        'scri'
  439.  
  440. gestaltScriptCount                EQU        'scr#'
  441.  
  442. gestaltSCSI                        EQU        'scsi'                ; SCSI Manager attributes 
  443. gestaltAsyncSCSI                EQU        0                    ; Supports Asynchronous SCSI 
  444. gestaltAsyncSCSIINROM            EQU        1                    ; Async scsi is in ROM (available for booting) 
  445. gestaltSCSISlotBoot                EQU        2                    ; ROM supports Slot-style PRAM for SCSI boots (PDM and later) 
  446.  
  447. gestaltControlStripAttr            EQU        'sdev'                ; Control Strip attributes 
  448. gestaltControlStripExists        EQU        0                    ; Control Strip is installed 
  449. gestaltControlStripVersionFixed    EQU        1                    ; Control Strip version Gestalt selector was fixed 
  450. gestaltControlStripUserFont        EQU        2                    ; supports user-selectable font/size 
  451. gestaltControlStripUserHotKey    EQU        3                    ; support user-selectable hot key to show/hide the window 
  452.  
  453. gestaltSerialAttr                EQU        'ser '                ; Serial attributes 
  454. gestaltHasGPIaToDCDa            EQU        0                    ; GPIa connected to DCDa
  455. gestaltHasGPIaToRTxCa            EQU        1                    ; GPIa connected to RTxCa clock input
  456. gestaltHasGPIbToDCDb            EQU        2                    ; GPIb connected to DCDb 
  457.  
  458. gestaltNuBusConnectors            EQU        'sltc'
  459.  
  460. gestaltSlotAttr                    EQU        'slot'                ; slot attributes  
  461. gestaltSlotMgrExists            EQU        0                    ; true is slot mgr exists  
  462. gestaltNuBusPresent                EQU        1                    ; NuBus slots are present  
  463. gestaltSESlotPresent            EQU        2                    ; SE PDS slot present  
  464. gestaltSE30SlotPresent            EQU        3                    ; SE/30 slot present  
  465. gestaltPortableSlotPresent        EQU        4                    ; Portable’s slot present  
  466.  
  467. gestaltFirstSlotNumber            EQU        'slt1'
  468.  
  469. gestaltSoundAttr                EQU        'snd '                ; sound attributes 
  470. gestaltStereoCapability            EQU        0                    ; sound hardware has stereo capability 
  471. gestaltStereoMixing                EQU        1                    ; stereo mixing on external speaker 
  472. gestaltSoundIOMgrPresent        EQU        3                    ; The Sound I/O Manager is present 
  473. gestaltBuiltInSoundInput        EQU        4                    ; built-in Sound Input hardware is present 
  474. gestaltHasSoundInputDevice        EQU        5                    ; Sound Input device available 
  475. gestaltPlayAndRecord            EQU        6                    ; built-in hardware can play and record simultaneously 
  476. gestalt16BitSoundIO                EQU        7                    ; sound hardware can play and record 16-bit samples 
  477. gestaltStereoInput                EQU        8                    ; sound hardware can record stereo 
  478. gestaltLineLevelInput            EQU        9                    ; sound input port requires line level 
  479. ; the following bits are not defined prior to Sound Mgr 3.0 
  480. gestaltSndPlayDoubleBuffer        EQU        10                    ; SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later 
  481. gestaltMultiChannels            EQU        11                    ; multiple channel support, set by Sound Mgr 3.0 and later 
  482. gestalt16BitAudioSupport        EQU        12                    ; 16 bit audio data supported, set by Sound Mgr 3.0 and later 
  483.  
  484. gestaltStandardFileAttr            EQU        'stdf'                ; Standard File attributes 
  485. gestaltStandardFile58            EQU        0                    ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported 
  486. gestaltStandardFileTranslationAware EQU        1                ; True if standard file is translation manager aware 
  487. gestaltStandardFileHasColorIcons EQU        2                    ; True if standard file has 16x16 color icons 
  488. gestaltStandardFileUseGenericIcons EQU        3                ; Standard file LDEF to use only the system generic icons if true 
  489. gestaltStandardFileHasDynamicVolumeAllocation EQU        4        ; True if standard file supports more than 20 volumes 
  490.  
  491. gestaltSysArchitecture            EQU        'sysa'                ; Native System Architecture 
  492. gestalt68k                        EQU        1                    ; Motorola MC68k architecture 
  493. gestaltPowerPC                    EQU        2                    ; IBM PowerPC architecture 
  494.  
  495. gestaltSystemVersion            EQU        'sysv'
  496.  
  497. gestaltTSMgrVersion                EQU        'tsmv'                ; Text Services Mgr version, if present 
  498. gestaltTSMgr2                    EQU        $200
  499.  
  500. gestaltTSMgrAttr                EQU        'tsma'                ; Text Services Mgr attributes, if present 
  501. gestaltTSMDisplayMgrAwareBit    EQU        0                    ; TSM knows about display manager 
  502. gestaltTSMdoesTSMTEBit            EQU        1                    ; TSM has integrated TSMTE 
  503.  
  504. gestaltTSMTEVersion                EQU        'tmTV'
  505. gestaltTSMTE1                    EQU        $100
  506. gestaltTSMTE2                    EQU        $200
  507.  
  508. gestaltTSMTEAttr                EQU        'tmTE'
  509. gestaltTSMTEPresent                EQU        0
  510. gestaltTSMTE                    EQU        0                    ; gestaltTSMTE is old name for gestaltTSMTEPresent 
  511.  
  512. gestaltTextEditVersion            EQU        'te  '                ; TextEdit version number 
  513. gestaltTE1                        EQU        1                    ; TextEdit in MacIIci ROM 
  514. gestaltTE2                        EQU        2                    ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) 
  515. gestaltTE3                        EQU        3                    ; TextEdit with 6.0.4 Script Systems all but MacIIci 
  516. gestaltTE4                        EQU        4                    ; TextEdit in System 7.0 
  517. gestaltTE5                        EQU        5                    ; TextWidthHook available in TextEdit 
  518. gestaltTE6                        EQU        6                    ; TextEdit in System 8.0 
  519.  
  520. gestaltTEAttr                    EQU        'teat'                ; TextEdit attributes 
  521. gestaltTEHasGetHiliteRgn        EQU        0                    ; TextEdit has TEGetHiliteRgn 
  522. gestaltTESupportsInlineInput    EQU        1                    ; TextEdit does Inline Input 
  523. gestaltTESupportsTextObjects    EQU        2                    ; TextEdit does Text Objects 
  524.  
  525. gestaltTeleMgrAttr                EQU        'tele'                ; Telephone manager attributes 
  526. gestaltTeleMgrPresent            EQU        0
  527. gestaltTeleMgrPowerPCSupport    EQU        1
  528. gestaltTeleMgrSoundStreams        EQU        2
  529. gestaltTeleMgrAutoAnswer        EQU        3
  530. gestaltTeleMgrIndHandset        EQU        4
  531. gestaltTeleMgrSilenceDetect        EQU        5
  532. gestaltTeleMgrNewTELNewSupport    EQU        6
  533.  
  534. gestaltTermMgrAttr                EQU        'term'                ; terminal mgr attributes 
  535. gestaltTermMgrPresent            EQU        0
  536. gestaltTermMgrErrorString        EQU        2
  537.  
  538. gestaltTimeMgrVersion            EQU        'tmgr'                ; time mgr version 
  539. gestaltStandardTimeMgr            EQU        1                    ; standard time mgr is present 
  540. gestaltRevisedTimeMgr            EQU        2                    ; revised time mgr is present 
  541. gestaltExtendedTimeMgr            EQU        3                    ; extended time mgr is present 
  542.  
  543. gestaltSpeechAttr                EQU        'ttsc'                ; Speech Manager attributes 
  544. gestaltSpeechMgrPresent            EQU        0                    ; bit set indicates that Speech Manager exists 
  545. gestaltSpeechHasPPCGlue            EQU        1                    ; bit set indicates that native PPC glue for Speech Manager API exists 
  546.  
  547. gestaltToolboxTable                EQU        'tbtt'
  548.  
  549. gestaltThreadMgrAttr            EQU        'thds'                ; Thread Manager attributes 
  550. gestaltThreadMgrPresent            EQU        0                    ; bit true if Thread Mgr is present 
  551. gestaltSpecificMatchSupport        EQU        1                    ; bit true if Thread Mgr supports exact match creation option 
  552. gestaltThreadsLibraryPresent    EQU        2                    ; bit true if Thread Mgr shared library is present 
  553.  
  554. gestaltTVAttr                    EQU        'tv  '                ; TV version                                        <EX16>     
  555. gestaltHasTVTuner                EQU        0                    ; supports Philips FL1236F video tuner                <EX16>     
  556. gestaltHasSoundFader            EQU        1                    ; supports Philips TEA6330 Sound Fader chip        <EX16>     
  557. gestaltHasHWClosedCaptioning    EQU        2                    ; supports Philips SAA5252 Closed Captioning        <EX16>     
  558. gestaltHasIRRemote                EQU        3                    ; supports CyclopsII Infra Red Remote control        <EX16>     
  559. gestaltHasVidDecoderScaler        EQU        4                    ; supports Philips SAA7194 Video Decoder/Scaler    <EX16>     
  560. gestaltHasStereoDecoder            EQU        5                    ; supports Sony SBX1637A-01 stereo decoder            <EX16>     
  561.  
  562. gestaltVersion                    EQU        'vers'                ; gestalt version 
  563. gestaltValueImplementedVers        EQU        5                    ; version of gestalt where gestaltValue is implemented. 
  564.  
  565. gestaltVIA1Addr                    EQU        'via1'
  566.  
  567. gestaltVIA2Addr                    EQU        'via2'
  568.  
  569. gestaltVMAttr                    EQU        'vm  '                ; virtual memory attributes 
  570. gestaltVMPresent                EQU        0                    ; true if virtual memory is present 
  571.  
  572. gestaltTranslationAttr            EQU        'xlat'                ; Translation Manager attributes 
  573. gestaltTranslationMgrExists        EQU        0                    ; True if translation manager exists 
  574. gestaltTranslationMgrHintOrder    EQU        1                    ; True if hint order reversal in effect 
  575. gestaltTranslationPPCAvail        EQU        2
  576. gestaltTranslationGetPathAPIAvail EQU        3
  577.  
  578. gestaltExtToolboxTable            EQU        'xttt'
  579.  
  580.     IF SystemSevenOrLater  THEN
  581. ;
  582. ; pascal OSErr Gestalt(OSType selector, long *response)
  583. ;
  584.     IF ¬ GENERATINGCFM THEN
  585.         _Gestalt:    OPWORD    $A1AD
  586.     ELSE
  587.         IMPORT_CFM_FUNCTION    Gestalt
  588.     ENDIF
  589.  
  590. ;
  591. ; pascal OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction)
  592. ;
  593.     IF ¬ GENERATINGCFM THEN
  594.         _ReplaceGestalt:    OPWORD    $A5AD
  595.     ELSE
  596.         IMPORT_CFM_FUNCTION    ReplaceGestalt
  597.     ENDIF
  598.  
  599. ;
  600. ; pascal OSErr NewGestalt(OSType selector, SelectorFunctionUPP gestaltFunction)
  601. ;
  602.     IF ¬ GENERATINGCFM THEN
  603.         ; parameters: 
  604.         ;     selector          => D0
  605.         ;     gestaltFunction    => A0
  606.         ; returns: 
  607.         ;     OSErr             <= D0
  608.         _NewGestalt:    OPWORD    $A3AD
  609.     ELSE
  610.         IMPORT_CFM_FUNCTION    NewGestalt
  611.     ENDIF
  612.  
  613.     ELSE
  614. ;
  615. ; pascal OSErr Gestalt(OSType selector, long *response)
  616. ;
  617.     IF GENERATINGCFM THEN
  618.         IMPORT_CFM_FUNCTION    Gestalt
  619.     ENDIF
  620.  
  621. ;
  622. ; pascal OSErr NewGestalt(OSType selector, SelectorFunctionUPP gestaltFunction)
  623. ;
  624.     IF GENERATINGCFM THEN
  625.         IMPORT_CFM_FUNCTION    NewGestalt
  626.     ENDIF
  627.  
  628. ;
  629. ; pascal OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction)
  630. ;
  631.     IF GENERATINGCFM THEN
  632.         IMPORT_CFM_FUNCTION    ReplaceGestalt
  633.     ENDIF
  634.  
  635.     ENDIF
  636.     IF SystemSevenFiveOrLater  THEN
  637. ; These functions are built into System 7.5, but not on earlier systems 
  638. ;
  639. ; pascal OSErr NewGestaltValue(OSType selector, long newValue)
  640. ;
  641.     IF ¬ GENERATINGCFM THEN
  642.         Macro
  643.         _NewGestaltValue
  644.             move.w    #$0401,d0
  645.             dc.w     $ABF1
  646.         EndM
  647.     ELSE
  648.         IMPORT_CFM_FUNCTION    NewGestaltValue
  649.     ENDIF
  650.  
  651. ;
  652. ; pascal OSErr ReplaceGestaltValue(OSType selector, long replacementValue)
  653. ;
  654.     IF ¬ GENERATINGCFM THEN
  655.         Macro
  656.         _ReplaceGestaltValue
  657.             move.w    #$0402,d0
  658.             dc.w     $ABF1
  659.         EndM
  660.     ELSE
  661.         IMPORT_CFM_FUNCTION    ReplaceGestaltValue
  662.     ENDIF
  663.  
  664. ;
  665. ; pascal OSErr SetGestaltValue(OSType selector, long newValue)
  666. ;
  667.     IF ¬ GENERATINGCFM THEN
  668.         Macro
  669.         _SetGestaltValue
  670.             move.w    #$0404,d0
  671.             dc.w     $ABF1
  672.         EndM
  673.     ELSE
  674.         IMPORT_CFM_FUNCTION    SetGestaltValue
  675.     ENDIF
  676.  
  677. ;
  678. ; pascal OSErr DeleteGestaltValue(OSType selector)
  679. ;
  680.     IF ¬ GENERATINGCFM THEN
  681.         Macro
  682.         _DeleteGestaltValue
  683.             move.w    #$0203,d0
  684.             dc.w     $ABF1
  685.         EndM
  686.     ELSE
  687.         IMPORT_CFM_FUNCTION    DeleteGestaltValue
  688.     ENDIF
  689.  
  690.     ELSE
  691.     ENDIF
  692.     ENDIF ; __GESTALT__
  693.